package com.ray.swagger;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author NieChangan
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig {

    /**
     * Swagger配置
     * 访问地址 http://localhost:8089/swagger-ui.html
     * 增强版knife4j
     * 访问地址 http://localhost:8089/doc.html
     */

//    @Bean
////    public Docket createRestApi() {
////        return new Docket(DocumentationType.SWAGGER_2)
////                .apiInfo(apiInfo())
////                .select()
////                //这里一定要标注你控制器的位置
////                .apis(RequestHandlerSelectors.basePackage("com.ray.web.controller"))
////                .paths(PathSelectors.any())
////                .build();
////    }
////
////    private ApiInfo apiInfo() {
////        return new ApiInfoBuilder()
////                .title("管理系统API文档")
////                .description("管理系统API文档")
////                .contact(new Contact("ray","https://www.baidu.com","741402596@qq.com"))
////                .version("1.0")
////                .build();
////    }

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("管理系统API文档 RESTful APIs")
                        .description("# 管理系统API文档 RESTful APIs")
                        .termsOfServiceUrl("http://localhost:8081/")
                        .contact(new Contact("ray","https://www.baidu.com","741402596@qq.com"))
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("2.X版本")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.ray.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

